package com.wangzhixuan.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.wangzhixuan.model.BaseInfo;
import com.wangzhixuan.model.vo.AchievementsVo;
import com.wangzhixuan.model.vo.BaseInfoVo;
import com.wangzhixuan.model.vo.ExcelJobInfomationVo;
import com.wangzhixuan.model.wordVo.WordAnalysisVo;
import com.wangzhixuan.model.wordVo.WordMeetingVo;
import com.wangzhixuan.model.wordVo.WordPeopleVo;
import com.wangzhixuan.model.wordVo.WordSurveyVo;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;


/**
 * <p>
  *  Mapper 接口
 * </p>
 *
 * @author zhixuan.wang
 * @since 2017-07-19
 */
public interface BaseInfoMapper extends BaseMapper<BaseInfo> {

	List<BaseInfo> selectBaseInfoPage(Pagination page, Map<String, Object> params);

	List<Map<String, Object>> selectList(Map<String, Object> paramMap);

	List<Map<String, Object>> selectAllList(Map<String, Object> paramMap);

	void updateStatusByWorkId(Map<String, Object> paramMap);

	List<Map<String, Object>> selectAddressList();
	
	int selectOnTimeNum(Map<String, Object> paramMap);  //Achievements 按时完成数量(传的时间段数据)
	
	int selectNotNum(Map<String, Object> paramMap);	//Achievements 未完成数量(传的时间段数据)
	
	int selectDelayTimeNum(Map<String, Object> paramMap);	//Achievements 延期完成数量(传的时间段数据)
	
	int selectUserTotalOnTimeNum(Map<String, Object> paramMap);  //Achievements 按时完成数量(传的时间段数据)
	
	ExcelJobInfomationVo selectExJobInfo(@Param("workId")Integer workId);	//word任务信息模块
	
	WordSurveyVo selectWdSurvey(@Param("workId")Integer workId);			//word勘察模块
	
	WordMeetingVo selectWdMeeting(@Param("workId")Integer workId);			//word会议模块
	
	List<WordAnalysisVo> selectWdAnalysis(@Param("workId")Integer workId);	//word问题处理模块
	
	List<String> selectWdPhenom(@Param("workId")Integer workId);			//word问题处理模块2
	
	List<WordPeopleVo> selectWdPeople(@Param("workId")Integer workId);		//word签到处理
	
	List<String> selectImgPath(@Param("workId")Integer workId);         //word查询路径
	
	List<Map<String, Object>> selectTodayList(Map<String, Object> paramMap);	//查询单人今日

	List<Map<String, Object>> selectTodayAllList(Map<String, Object> paramMap);		//查询所有人今日
	
	int selectIdByDate(@Param("thisDate")Date thisDate);
	
	Integer selectAllBaseInfo(Map<String, Object> paramMap);
	
	BaseInfo selectGroup(@Param("groupId") String groupId);
	
	List<Map<String,Object>> selecListtByJobCategory(@Param("jobCategory")String jobCategory);
}